﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Neo4jRestSharp.Neo4jObjectServices
{
	public interface IIndexObjectServices
    {
        /// <summary>
        /// Get indexes
        /// </summary>
        /// <remarks>
        /// Http Success Response: 200 (a-ok, no content returned)        
        /// </remarks>
        void GetIndexes();

        /// <summary>
        /// Add to index
        /// </summary>
        /// <remarks>
        /// Http Success Response: 201 (a-ok, indexed the node with key/value)
        /// </remarks>
        void AddToIndex();

        /// <summary>
        /// Remove from index
        /// </summary>
        /// <remarks>
        /// Http Success Response: 204 (a-ok, no content returned)
        /// Http Error Response: 404 (index entry not found)
        /// </remarks>
        void RemoveFromIndex();

        /// <summary>
        /// Query index
        /// </summary>
        /// <remarks>
        /// Http Success Response: 200 (a-ok, no content returned)
        /// Http Error Response: 404 (index entry not found)
        /// </remarks>
        void QueryIndex();
    }
}
